package com.example.springboot_jdk8.config;


/**
 * 在当前线程中缓存表单配置对象，避免在各个方法参数中都要传
 * @author cl0403
 */
public class CacheCurConfig {
    // 使用 ThreadLocal 存储配置对象
    private static final ThreadLocal<MdmConfig> THREAD_LOCAL_CONFIG = new ThreadLocal<>();

    // 提供设置配置对象的方法
    public static void setConfig(MdmConfig MDMConfig) {
        THREAD_LOCAL_CONFIG.set(MDMConfig);
    }

    // 提供获取配置对象的方法
    public static MdmConfig getConfig() {
        return THREAD_LOCAL_CONFIG.get();
    }

    // 可选：清理 ThreadLocal 中的对象，避免内存泄漏,当有线程池复用线程的情况下，必须清理
    public static void clearConfig() {
        THREAD_LOCAL_CONFIG.remove();
    }
}